 /**
 * {{{description}}}
 *
 * @export
 * @interface {{classname}}
 */
export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
{{#additionalPropertiesType}}
    [key: string]: {{{additionalPropertiesType}}}{{#hasVars}} | any{{/hasVars}};

{{/additionalPropertiesType}}
{{#vars}}

    /**
    {{#description}}
     * {{{.}}}
     *
    {{/description}}
     * @type {{braces "left"}}{{{datatype}}}{{braces "right"}}
     * @memberof {{classname}}
    {{#example}}
     * @example {{{.}}}
    {{/example}}
    {{#deprecated}}
     * @deprecated
    {{/deprecated}}
     */
    {{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{datatype}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}};
{{/vars}}
}{{#hasEnums}}

{{#vars}}
{{#isEnum}}
/**
 * @export
 * @enum {string}
 */
export enum {{enumName}} {
{{#allowableValues}}
    {{#enumVars}}
    {{{name}}} = {{{value}}}{{^@last}},{{/@last}}
    {{/enumVars}}
{{/allowableValues}}
}
{{/isEnum}}
{{/vars}}
{{/hasEnums}}
